<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    
    <xsl:template match="/" xml:space="default">
            <xsl:apply-templates/>
        </xsl:template>
    
    <xsl:template match="node" xml:space="default">
	<xsl:element name="{name()}">
	    <xsl:for-each select="./@*">
                    <xsl:if test="name()='id'"><xsl:attribute name="id"><xsl:text>T</xsl:text><xsl:value-of select="."/></xsl:attribute></xsl:if>
                    <xsl:if test="name()='label'"><xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute></xsl:if>
	    </xsl:for-each>
	    <xsl:for-each select="./*">
	         <xsl:element name="{name()}"><xsl:apply-templates/></xsl:element>
	    </xsl:for-each>
	    <xsl:value-of select="."/>
	</xsl:element>
    </xsl:template>
    
    <xsl:template match="isComposedBy" xml:space="default">
        <xsl:element name="{name()}">
            <xsl:for-each select="./*">
                <xsl:element name="{name()}"><xsl:apply-templates/></xsl:element>
            </xsl:for-each>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="isRelatedTo" xml:space="default">
        <xsl:element name="{name()}">
            <xsl:for-each select="./*">
                <xsl:element name="{name()}"><xsl:apply-templates/></xsl:element>
            </xsl:for-each>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="hasNote">
        <xsl:element name="{name()}">
                    <xsl:if test="@type"><xsl:attribute name="type"><xsl:value-of select="."/></xsl:attribute></xsl:if>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>

